package ADMINISTRACION_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class ADM_PROVEEDOR {

    private Double ID;
    private String RAZON_SOCIAL;
    private Double NIT;
    private Double ESTADO;
    private Conexion con = null;

    public ADM_PROVEEDOR() {
        RAZON_SOCIAL="";
    }

    public ADM_PROVEEDOR(Double ID, String RAZON_SOCIAL, Double NIT) {
        this.ID = ID;
        this.RAZON_SOCIAL = RAZON_SOCIAL;
        this.NIT = NIT;
    }

    public boolean Insertar() {
        try {
            String consulta = "insert into BROKER.ADM_PROVEEDOR(ID, RAZON_SOCIAL, NIT, ESTADO) VALUES (" + ID + ",'" + RAZON_SOCIAL + "'," + NIT + ",0)";
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public boolean EliminarXid() {
        try {
            String consulta = "delete from BROKER.ADM_PROVEEDOR where ID= " + getID();
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public List<ADM_PROVEEDOR> Todos() {
        try {
            String consulta = "select * from BROKER.ADM_PROVEEDOR";
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    
    public ADM_PROVEEDOR BuscarxNit(Double nit) {
        try {
            String consulta = "select * from BROKER.ADM_PROVEEDOR where nit = "+nit;
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs).get(0);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public List<ADM_PROVEEDOR> Cargar(ResultSet rs) {
        try {
            List<ADM_PROVEEDOR> lista = new ArrayList<ADM_PROVEEDOR>();
            while (rs.next()) {
                ADM_PROVEEDOR objeto = new ADM_PROVEEDOR();
                objeto.setID(rs.getDouble("ID"));
                objeto.setRAZON_SOCIAL(rs.getString("RAZON_SOCIAL"));
                objeto.setNIT(rs.getDouble("NIT"));
                objeto.setESTADO(rs.getDouble("ESTADO"));
                objeto.setCon(con);
                lista.add(objeto);
            }
            return lista;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public double getID() {
        return ID;
    }

    public void setID(double ID) {
        this.ID = ID;
    }

    public String getRAZON_SOCIAL() {
        return RAZON_SOCIAL;
    }

    public void setRAZON_SOCIAL(String RAZON_SOCIAL) {
        this.RAZON_SOCIAL = RAZON_SOCIAL;
    }

    public double getNIT() {
        return NIT;
    }

    public void setNIT(double NIT) {
        this.NIT = NIT;
    }

    public double getESTADO() {
        return ESTADO;
    }

    public void setESTADO(double ESTADO) {
        this.ESTADO = ESTADO;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
